package com.scala.conversion

import java.io.File

import scala.io.Source


/**
  * Created by root on 2016/5/13.
  */
/*
一定要放在RichFile之前。否则会出错，因为如果将MyPredef放在后面的话，在加载RichFile的时候还没有加载MyPredef，所以失败
实际开发中，将隐式转换类单独放在一个文件中，然后在需要隐式转换的类文件的最开始加上import，将指定的类引进来就行了
 */
object MyPredef {
  implicit def fileToRichFile(f: File) = new RichFile(f)
}

class RichFile(val f: File) {
  def read() = Source.fromFile(f).mkString
}

object RichFile {
  def main(args: Array[String]) {
    val f = new File("D:/data/test.txt")
    //装饰 ，显示的增强
    //val contents = new RichFile(f).read()
    import MyPredef._
    val contents = f.read()
    println(contents)
  }
}

